package com.sen.rbac.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.sen.common.common.response.PageVo;
import com.sen.rbac.dto.SysTenantEntityTypeDTO;
import com.sen.rbac.model.SysTenantEntityType;
import com.sen.rbac.vo.SysTenantEntityTypeVO;

/**
 * @author esjiang
 */
public interface TenantEntityTypeService extends IService<SysTenantEntityType> {

    /**
     * 列表查询，包括搜索条件
     * @param sysTenantEntityTypeDTO
     * @return
     */
    PageVo<SysTenantEntityTypeVO> list(SysTenantEntityTypeDTO sysTenantEntityTypeDTO) ;

    /**
     * 保存或修改
     * @param sysTenantEntityTypeDTO
     */
    void saveOrUpdate(SysTenantEntityTypeDTO sysTenantEntityTypeDTO) ;

    /**
     * 删除
     * @param id
     */
    void del(String id) ;

    /**
     * 新增主体类型时，需要同步到所有的主体
     * @param entityTypeCode
     */
    void syncEntityTypeRoles(String entityTypeCode) ;

    /**
     * 同步主体类型
     * @param entityCode
     * @param entityTypeCodes 多个主体类型，逗号分隔
     */
    void syncEntityTypeRoles(String entityCode, String entityTypeCodes) ;

}
